      1  import java.io.File;

      2

      3  public class FileFinder

      4  {

      5     private File[] children;

      6

      7     /**

      8        Constructs a file finder for a given directory tree.

      9        @param startingDirectory the starting directory of the tree

     10     */

     11     public FileFinder(File startingDirectory)

     12     {

     13        children = startingDirectory.listFiles();

     14     }

     15

     16     /**

     17        Prints all files whose names end in a given extension.

     18        @param extension a file extension (such as ".java")

     19     */

     20     public void find(String extension)

     21     {

     22        for (File child : children)

     23        {

     24           String fileName = child.toString();

     25           if (child.isDirectory())

     26           {

     27              FileFinder finder = new FileFinder(child);

     28              finder.find(extension);

     29           }

     30           else if (fileName.endsWith(extension))

     31           {

     32              System.out.println(fileName);

     33           }

     34        }

     35     }

     36  }